package jdbc;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 *
 * @author liuziyang
 * @create 2018-07-30 20:44
 * 访问数据的DAO接口
 * 里面定义好访问数据表的各种方法
 *
 * @param T: DAO处理实体类的类型
 */
public interface Dao<T> {
    /**
     * Insert,update, delete操作都可以包含在其中
     */
    void update(String sql, Object... args);

    // 查询一条记录
    T get(Class<T> clazz, String sql, Object... args);

    // 查询多条记录
    List<T> getForList(Class<T> clazz, String sql, Object... args);

    // 返回某条记录的某一个字段的值，或一个统计的值（一共有多少条记录）
    <E> E getForValue(String sql, Object... args);
}
